package org.smart4j.framework.common.aop;

import org.smart4j.framework.common.annotation.Aspect;
import org.smart4j.framework.common.annotation.Controller;
import org.smart4j.framework.common.aop.AspectProxy;

import java.lang.reflect.Method;

/**
 * 代理类
 * 需使用@Aspect注解标记代理范围且需继承AspectProxy
 *
 * @author YooLin1c
 * @version 1.0.0
 * @since 2018-02-03 14:58
 */
@Aspect(Controller.class)
public class ClassAspect extends AspectProxy {
    @Override
    public void begin() {

    }

    @Override
    public void before(Class<?> clazz, Method method, Object[] args) throws Throwable {

    }

    @Override
    public void after(Class<?> clazz, Method method, Object[] args, Object result) throws Throwable {

    }

    @Override
    public void error(Class<?> clazz, Method method, Object[] args, Throwable error) throws Throwable {

    }

    @Override
    public void end() {

    }
}
